package com.bh.order.vo;

import com.bh.common.core.domain.BhtmsBaseEntity;
import com.bh.order.domain.JcLedProduct;
import com.bh.order.domain.JcLedReceivingParty;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 分段订单对象具体装载对象 jc_led
 *
 * @author slx
 * @date 2023-04-24
 */
@ApiModel(value = "分段订单对象具体装载对象", description = "分段订单对象具体装载对象")
@Data
public class JcLedLoadingDetailVo extends BhtmsBaseEntity {
    

    /**
     * 回单份数
     */
    @ApiModelProperty("回单份数")
    private Integer backNumber;

    /**
     * 客户名称(零散客户)
     */
    @ApiModelProperty("客户名称(零散客户)")
    private String customerName;

    /**
     * 客户类型  0:零散，1:合同
     */
    @ApiModelProperty("客户类型  0:零散，1:合同")
    private Integer customerType;

    /**
     * 实际到达时间
     */
    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("实际到达时间")
    private Date factArriveTime;

    /**
     * 实际发运时间
     */
    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("实际发运时间")
    private Date factLeaveTime;

    /**
     * 交付方式
     */
    @ApiModelProperty("交付方式")
    private Integer handoverType;

    /**
     * 是否有异常
     */
    @ApiModelProperty("是否有异常")
    private Integer isAbnormal;

    /**
     * 是否回单
     */
    @ApiModelProperty("是否回单")
    private Integer isBack;

    /**
     * 件数
     */
    @ApiModelProperty("件数")
    private Integer number;
    @ApiModelProperty("已经扫码件数")
    private Integer scanNumber = 0;
    @ApiModelProperty("订单未扫码件数")
    private Integer noScanNumber;

    /**
     * 要求到达时间
     */
    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("要求到达时间")
    private Date planArriveTime;

    /**
     * 要求发运时间
     */
    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("要求发运时间")
    private Date planLeaveTime;

    /**
     * 客户订单号1
     */
    @ApiModelProperty("客户订单号1")
    private String relateBill1;

    /**
     * 客户订单号2
     */
    @ApiModelProperty("客户订单号2")
    private String relateBill2;

    /**
     * 客户订单号3
     */
    @ApiModelProperty("客户订单号3")
    private String relateBill3;

    /**
     * 客户订单号4
     */
    @ApiModelProperty("客户订单号4")
    private String relateBill4;

    /**
     * 客户订单号5
     */
    @ApiModelProperty("客户订单号5")
    private String relateBill5;

    /**
     * 运输方式
     */
    @ApiModelProperty("运输方式")
    private Integer shipmentMethod;

    /**
     * 订单日期
     */
    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd")
    @ApiModelProperty("订单日期")
    private Date time;

    /**
     * 运输性质
     */
    @ApiModelProperty("运输性质")
    private Integer transportPro;

    /**
     * 客户id
     */
    @ApiModelProperty("客户id")
    private Long jcCustomerId;

    @ApiModelProperty("客户名称")
    private String jcCustomerName;

    /**
     * 目的运点ID
     */
    @ApiModelProperty("目的运点ID")
    private Long jcEndZoneId;

    /**
     * 订单id
     */
    @ApiModelProperty("订单id")
    private Long jcOrderId;

    /**
     * 当前组织机构id
     */
    @ApiModelProperty("当前组织机构id")
    private Long jcOrganizationId;

    /**
     * 出发运点id
     */
    @ApiModelProperty("出发运点id")
    private Long jcStartZoneId;

    /**
     * 目的网点ID
     */
    @ApiModelProperty("目的网点ID")
    private Long jcToOrganizationId;

    /**
     * 库存区域id
     */
    @ApiModelProperty("库存区域id")
    private Long jcZoneStoreroomId;

    /**
     * 始发网点
     */
    @ApiModelProperty("始发网点")
    private Long jcFormOrganizationId;

    /**
     * 提货、派送
     */
    @ApiModelProperty("提货、派送")
    private Long type;


    private List<JcLedReceivingParty> ledReceivingParties;


    private List<JcLedProduct> ledProducts;
}
